본문으로 건너뛰기

3.4. Semantic Labeling Tool

본 문서는 Semantic Labeling Tool을 배포하기 위한 방법 및 설정 정보 등을 설명합니다.

3.4.1. Overview

본 문서는 사용자가 쉽게 시맨틱 데이터를 통한 기계학습용 데이터 셋을 생성할 수 있는 시맨틱 라벨링 툴을 설명합니다. 시맨틱 라벨링 툴은 기계학습에 필요한 시맨틱 데이터를 통한 학습 데이터의 라벨링을 위한 툴이며, 이를 이용하면, 기존의 시맨틱 데이터 및 새로운 시맨틱 데이터를 조회 및 생성이 가능합니다. 즉, 툴은 데이터의 라벨링을 위한 rule을 조회 및 생성이 가능하며, 사용자가 필요한 seletlist의 variable, property등의 parameter를 추가할 수 있습니다. 툴은 rule을 기반으로 데이터에 라벨링을 하여 학습용 데이터 셋을 만들어줍니다.

3.4.2. PreInstallation

Semantic Labeling Too은 node.js 및 Vue.js를 기반으로 개발된 프로젝트입니다. 프로젝트 배포는 아래 가이드 되어 있는 설정을 따릅니다.

3.4.2.1. Dependencies

  • 해당 프로젝트의 동작에 필요한 종속성 모듈 목록 (package.json)
    • axios (version: 0.24.0)
    • bootstrap (version: 4.5.3)
    • bootstrap-vue (version: 2.21.2)
    • core-js (version: 3.6.5)
    • vue (version: 2.6.12)
    • vue-router (version: 3.2.0)
    • vue-template-compiler (version: 2.6.12)

3.4.2.2. Configuration

  • SWRL Labeling Tool과 SWRL Generator의 연결을 위한 URL 설정은 poject/src/views/labeling.vue에서 합니다.
PropertySampleDescription
generator_api_Urlhttp://localhost:9090SWRL Genertor API Url 설정

3.4.3. Deployment Steps

NOTE: 본 배포 가이드는 Window및 Linux 환경을 타지않으며, 해당 필요 모듈만 정상적으로 설치 후에 사용하면 된다.

3.4.3.1. Download Project

Download the project from github and choose "semantic labeling tool"

3.4.3.2. Application Deployment

  • 프로젝트의 디렉토리에 접근 후 “npm run serve” 명령어를 통해 실행이 가능합니다.
  • Labeling.vue 은 다음과 같은 기능을 수행합니다.
    • selet_add_text (): SWRL에 사용되는 variable, property등의 selet list 의 parameter를 선택했을 시에 페이지의 가운데 텍스트박스표출을 수행합니다.
    • btn_add_text (): SWRL에 사용되는 특수문자를 표현한 각각의 버튼을 눌렀을 시 페이지의 가운데 텍스트박스에 해당 특수문자를 표출해주는 기능입니다.
    • delete_text (): 페이지의 가운데 표출되어 있는 텍스트박스의 내용을 삭제하는 기능입니다.
    • selete_add_item (): SWRL Labeling 필요한 parameter를 추가해주는 기능이며, 해당 parameter를 입력 받아서 “Add Value” 버튼을 눌렀을 때 수행됩니다.
    • selete_delete_item (): 생성되어 있는 parameter를 삭제해주는 기능이며, 해당 parameter를 입력 받아서 “Delete Value” 버튼을 눌렀을 때 수행됩니다.
    • rulcreate_requst(): 작성된 페이지의 가운데 텍스트박스에 작성된 내용을 기반으로 SWRL Generator API를 통해 시맨틱 데이터 생성 요청을 수행합니다.
    • get_requst(): 기존의 생성되어 있는 시맨틱 데이터를 SWRL Generator API를 통해 조회 요청을 수행합니다.
    • ruleexecution_request (): 생성되어 있는 시맨틱 데이터를 기반으로 페이지에 업로드한 CSV파일의 데이터를 SWRL Generator API를 통해 라벨링된 CSV파일을 다운로드하는 기능입니다.

3.4.4. User Guide

3.4.4.1. 시맨틱 라벨링 툴 실행

시맨틱 라벨링 툴은 “npm run serve” 명령어를 통해 실행이 가능하며, 해당 툴의 페이지는 “http://:8360”을 통해 액세스할 수 있습니다.

3.4.4.2. 시맨틱 데이터 조회

시맨틱 데이터 조회는 기존의 생성되어있는 rule을 조회하는 기능입니다. 조회기능의 사용 방법은 도구의 왼쪽 상단 텍스트 칸에 ID를 입력 후 “GET Rule Set” 버튼을 누르게 되면, 입력한 ID에 맞는 rule 조회하여 해당 페이지에 보여줍니다.

3.4.4.3. 시맨틱 데이터 생성

시맨틱 데이터 생성은 새로운 rule을 생성하는 기능입니다. 시맨틱 데이터의 생성은 생성하고자 하는 ID를 왼쪽 상단 텍스트 칸에 입력하고, 가운데 텍스트칸에 rule을 작성 한다. 툴은 rule생성에 필요한 “->”, “=”, “≠”, “[]” 버튼과 아래 seletlist인 variable, SWRL Builtin, XML schema datatype, property, SWRL Rule을 제공한다. 이를 통해 사용자가 쉽게 rule 생성할 수 있습니다. 생성요청은 “Create Rule” 버튼을 통해 할 수 있습니다.

3.4.4.4. 시맨틱 데이터 라벨링

시맨틱 데이터 라벨링은 라벨링에 사용하고자하는 rule ID를 그림 55의 왼쪽 상단 텍스트 칸에 입력하고, 오른쪽 상단에 데이터 CSV 파일을 업로드 후에 “Generate Lables” 버튼을 누르게 되면, 입력한 ID의 Rule을 기반하여 업로드한 CSV데이터가 라벨링되어 CSV 파일로 다운로드됩니다.